Skip to content

Build MQLib_jll with C ABI library product - #11

Merged
bernalde merged 1 commit into
masterfrom
fix/issue-7-shared-jll-library
May 27, 2026
Merged

Build MQLib_jll with C ABI library product#11
bernalde merged 1 commit into
masterfrom
fix/issue-7-shared-jll-library

Conversation

@bernalde

@bernalde bernalde commented May 27, 2026

Copy link
Copy Markdown
Member

Summary

  • Add a BinaryBuilder recipe for MQLib_jll that keeps the existing MQLib executable product and adds LibraryProduct("libmqlib_c_api", :libmqlib_c_api).
  • Build libmqlib_c_api from the upstream MQLib sources plus the C ABI wrapper, excluding src/main.cpp, with Windows export support via MQLIB_C_BUILD_SHARED.
  • Document the JLL library product name, ABI version expectations, and downstream ccall entry point.
  • Extend the C ABI contract tests to verify the recipe keeps the executable product and declares the shared library product.

Tests run

  • julia +1.12 --project=. -e 'import Pkg; Pkg.test()' - passed: Compatibility metadata 5/5, QUBODrivers 124/124, and C ABI contract 16/16.
  • julia +1.10 --startup-file=no -e 'import Pkg; Pkg.activate(; temp=true); Pkg.develop(path=pwd()); Pkg.test("MQLib")' - passed: Compatibility metadata 5/5, QUBODrivers 124/124, and C ABI contract 16/16.
  • bash test/native_c_api_smoke.sh - passed; cloned upstream MQLib, built libmqlib_c_api.so, and ran the native solve smoke cases.
  • julia +release --project=. -e 'Meta.parseall(read("jll/build_tarballs.jl", String)); println("recipe parse ok")' - passed before the rebase.

Notes

  • Direct julia +1.10 --project=. -e 'import Pkg; Pkg.test()' did not run locally because the checked-in Manifest.toml was generated by Julia 1.12 and Julia 1.10 could not instantiate its OpenSSL_jll entry. The Julia 1.10 package tests pass when resolved from Project.toml in a clean temporary environment.
  • I did not run a full BinaryBuilder cross-platform tarball build locally.

Refs #7

@bernalde
bernalde force-pushed the fix/issue-7-shared-jll-library branch from 5c14819 to f06d85d Compare May 27, 2026 18:30
@bernalde
bernalde merged commit 7aae48e into master May 27, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant